"""
python字符串的常见api:
    find() 用于检测字符串中是否包含子字符串
    str.find(str,beg=0,end=len(str))
    
    join() 用于将序列中的内容以指定的连接符拼接成一个新的字符串
    str.join(sequence)
    使用的注意点:TypeError: sequence item 0: expected str instance, int found
    序列中的元素必须是字符串类型.
    
    str.lower()  str.upper() 大小写转换
    
    str.swapcase() 对大小写进行转换
    
    str.replace(old,new[,max]) max 是可选参数
    把str中old内容使用new来替换.替换次数为max次.
    
    str.split(sp="",num=str.count(sp))
    把字符串str根据分隔符sp进行分割得到列表.分隔num次. 默认是出现几次sp就分割几次   
    可以这么理解split函数.对指定的符号在原始字符串中求出现下标.然后根据下标进行切片
    默认情况下切到字符串中没有分隔符截止.
    
    str.strip([字符])
    移除字符串str头尾指定的字符.默认是空格
"""
st = "helloworldowo"
# 如果找到则输出匹配的字符串第一个字符在原始字符串中第一次出现的下标
# 如果找不到则返回-1
print(st.find("owo")) 

lst = ["1","2","3","4","5"]
print("#".join(lst))

print("shanghai".upper())
print("shanghai".upper().lower())
print("ShangHai".swapcase())

st = "abcabcabc"
print(st)
st = st.replace("b","Z",1)
print(st)

st = "s1:open chrome http://localhost:8080/WoniuSales"
lst = st.split(":",1)
print(type(lst))
print(lst)


st = " -                                       - -abc- - -          "
st = st.replace(" ","").strip("-")
print(st)
st.strip().replace("\n","").replace("\t","").replace("\r","").replace("符号","")


print("-----------------------------------------------------------------------------")

"""
练习:把hello变成下面几种样式
    1.HELLO
    2.Hello
    3.hEllo
    4.HeLLO
    5.h,llo
"""

st = 'hello'
print(st.upper())
# 首字母大写
print(st.capitalize())
st = st.replace("e","E")
print(st)
st = st.swapcase()
print(st)
print(st.lower().replace("e",","))

print("-----------------------------------------------------------------------------")

"""
    补充一些字符串的常见API
        str.capitalize()  将字符串的首字母变成大写
        额外思考:shanghai - > ShangHai
        
        str.center(with,fillchar) 对字符串str进行填充.使用fillchar填充.填充到宽度为with
        填充完成后str要居中显示.
        
        str.startswith(前缀) 判断是不是以前缀开头
        str.endswith(suffix)
        判断字符串的后缀是否是指定的内容 返回值为布尔值
        
        str.index("查找内容") 和find效果一样
        
        str.isalnum() 判断字符串中字符都是数字或者字母
        str.isdigit() 判断字符串是纯数字
        str.islower()/isupper() 判断是否为小写
        str.isspace() 判断是否是空格
        str.isalpha() 判断是否是字母
        
        str.count("a") 求str中a出现的次数
            面试题:给一段英文(截取报纸上的某一篇文章要求输出这篇文章中每个单词的出现次数)
            
            
        通用函数:
            len() 求长度
            max() 求最大值
            min() 求最小值
"""
st = "hello"
print(st.center(10,"A"))

st = "woniusales.txt"
print(st.endswith("txt"))

print("12a3".isalnum())
print("123".isdigit())

print("abcabcabcdef".count("a"))

st = "love earth love china love shanghai"
# 求每个单词的出现次数
print("方式一:---------")
dct = dict([(w,st.split().count(w)) for w in st.split()])
print(dct)
print("方式二:---------")
dct = dict(map(lambda x : (x,st.split().count(x)),st.split()))
print(dct)


st = "与乐于和各级政府打交道且得心应手的宗庆后完全不同的是，宗馥莉在政府面前完全没招儿。如果有官员最近出差，审批文件一时半会拿不到签字，心急的她就特别难理解“为什么不可以用email给他、传真他”。"
# 把字符串转变成列表
lst = list(st)
# 对列表做遍历
for s in lst:
    print("{}出现了{}次".format(s,lst.count(s)))



print("-----------------------------------------------------------------------------")

st = "abc"
print(st.isalpha())















